package logica;

import java.sql.Date;
import java.util.List;
import java.util.UUID;

import datos.JDBCQuejaDAO;
import datos.interfaces.IQuejaDAO;





public class GestorQuejas {
	
	public boolean registrarQueja(Objeto obj, Usuario user, String problema){
		Queja q=new Queja();
		q.setEstado("Pendiente");
		q.setFecha(new java.sql.Date(new java.util.Date().getTime()));
		q.setObjeto(obj);
		q.setProblema(problema);
		q.setQuejaID(UUID.randomUUID().toString());
		q.setSolucion("");
		q.setUsuario(user);
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		qDAO.insertarQueja(q);
		return true;
	}
	
	public Queja obtenerQueja(String quejaID){
		
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		return qDAO.obtenerQueja(quejaID);
		
	}
		
	public List<Queja> obtenerQuejas(String estado){
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		return qDAO.obtenerQuejas(estado);
	}
	
	public boolean modificarEstadoQueja(String quejaID, String estado){
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		qDAO.modificarEstadoQueja(quejaID, estado);
		return true;
		
	}
	
	public boolean solucionarQueja(String solucion, String quejaID){
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		qDAO.modificarSolucionQueja(quejaID, solucion);
		return true;
	}
	
	public boolean reclamarSolucionQueja(String quejaID){
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		qDAO.modificarEstadoQueja(quejaID, "Reclamada");
		return true;
	}

	public List<Queja> obtenerQuejasUsuario(String usuarioID, String estado){
		
		IQuejaDAO qDAO=new JDBCQuejaDAO();
		return qDAO.obtenerQuejasUsuario(usuarioID, estado);
		
	}
	
}
